package com.un.ebs.businessObject.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.un.ebs.core.enums.TableTypeEnum;
import com.un.ebs.sys.domain.SysBusinessObject;
import com.un.ebs.sys.domain.Table;
import com.un.ebs.sys.dto.TableDto;

import java.util.List;

/**
 * @Author aikun
 * 服务类
 * @ClassName DataTableService
 * @Description DataTableService
 * @Date 2020/1/8
 */
public interface DataTableService extends IService<Table> {

    IPage<TableDto> list(Integer tableType, String tableName, String dataSourceId, int pageSize, int pageIndex);

    void add(Table table);

    void update(Table table);

    TableDto getById(String id);

    void delete(String id);

    void batchDel(String[] ids);

    void createTable(String id);

    void synchronizationTable(String id, String[] tableNameList);

    List<String> queryTabList(String id);

    void synchronizationColumn(String tableId);

    IPage<SysBusinessObject> query(String dataSourceId, TableTypeEnum tableType, String tableName, int pageSize, int pageIndex);
}
